package com.fessc.develop.service.interfaces;

import com.baomidou.mybatisplus.extension.service.IService;
import com.fessc.develop.entity.dbvo.SettleTradeList;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author y
 * @since 2024-06-27
 */
public interface ISettleTradeListService extends IService<SettleTradeList> {

    /**
     *根据业务核对编码，查询跨境付汇订单明细
     *
     * @param settleId 业务核对编码
     * @return  跨境付汇集合
     */
    List<SettleTradeList> getSettleTradeListBySettleId(String settleId);

    /**
     *根据订单编号，查询跨境付汇订单明细
     *
     * @param orderno 订单号
     * @param subOrderNoList 订单编号数组
     * @return 跨境付汇明细集合
     */
    List<SettleTradeList> getSettleTradeListBySubOrderNos(String orderno, List<String> subOrderNoList);

    /**
     *根据业务核对编码和状态，更新跨境付汇订单明细交易状态
     *
     * @param settleId 业务核对编码
     * @param serialnumberStatus 跨境付汇状态
     * @return 更新成功失败标志
     */
    Boolean updateSettleTradeListStatusBySettleId(String settleId, String serialnumberStatus);

    /**
     *根据订单编号和业务核对编码，更新跨境付汇订单明细交易状态
     *
     * @param settleTradeList 跨境付汇订单明细
     * @param orderNo 订单编号
     * @param settleId 业务核对编码
     * @return 更新成功失败标志
     */
    Boolean updateSettleTradeListStatusByOrderNo(List<SettleTradeList> settleTradeList, String orderNo, String settleId);

    /**
     *根据订单编号和业务核对编码，更新跨境付汇订单明细交易状态
     *
     * @param settleId 业务核对编码
     * @param serialnumberStatus 跨境付汇状态
     * @return 更新成功失败标志
     */
    Boolean updateSettleTradeListStatus(String settleId, String serialnumberStatus);

    /**
     *根据订单编号和业务核对编码，更新跨境付汇订单明细交易状态
     *
     * @param settleTradeLists 跨境付汇订单明细
     * @return 更新成功失败标志
     */
    Boolean updateSettleTradeListStatusByOrderList(List<SettleTradeList> settleTradeLists);

}
